﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x0200028F RID: 655
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class ChessRogueQueryDiceInfo : IMessage<ChessRogueQueryDiceInfo>, IMessage, IEquatable<ChessRogueQueryDiceInfo>, IDeepCloneable<ChessRogueQueryDiceInfo>, IBufferMessage
	{
		// Token: 0x17000884 RID: 2180
		// (get) Token: 0x06001D52 RID: 7506 RVA: 0x000535D0 File Offset: 0x000517D0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<ChessRogueQueryDiceInfo> Parser
		{
			get
			{
				return ChessRogueQueryDiceInfo._parser;
			}
		}

		// Token: 0x17000885 RID: 2181
		// (get) Token: 0x06001D53 RID: 7507 RVA: 0x000535D7 File Offset: 0x000517D7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return ChessRogueQueryDiceInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000886 RID: 2182
		// (get) Token: 0x06001D54 RID: 7508 RVA: 0x000535E9 File Offset: 0x000517E9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return ChessRogueQueryDiceInfo.Descriptor;
			}
		}

		// Token: 0x06001D55 RID: 7509 RVA: 0x000535F0 File Offset: 0x000517F0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueQueryDiceInfo()
		{
		}

		// Token: 0x06001D56 RID: 7510 RVA: 0x0005361C File Offset: 0x0005181C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueQueryDiceInfo(ChessRogueQueryDiceInfo other) : this()
		{
			this.diceList_ = other.diceList_.Clone();
			this.dicePhase_ = other.dicePhase_;
			this.sus_ = other.sus_.Clone();
			this.surfaceIdList_ = other.surfaceIdList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06001D57 RID: 7511 RVA: 0x0005367F File Offset: 0x0005187F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueQueryDiceInfo Clone()
		{
			return new ChessRogueQueryDiceInfo(this);
		}

		// Token: 0x17000887 RID: 2183
		// (get) Token: 0x06001D58 RID: 7512 RVA: 0x00053687 File Offset: 0x00051887
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<ChessRogueDice> DiceList
		{
			get
			{
				return this.diceList_;
			}
		}

		// Token: 0x17000888 RID: 2184
		// (get) Token: 0x06001D59 RID: 7513 RVA: 0x0005368F File Offset: 0x0005188F
		// (set) Token: 0x06001D5A RID: 7514 RVA: 0x00053697 File Offset: 0x00051897
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public ChessRogueNousDicePhase DicePhase
		{
			get
			{
				return this.dicePhase_;
			}
			set
			{
				this.dicePhase_ = value;
			}
		}

		// Token: 0x17000889 RID: 2185
		// (get) Token: 0x06001D5B RID: 7515 RVA: 0x000536A0 File Offset: 0x000518A0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MapField<uint, bool> Sus
		{
			get
			{
				return this.sus_;
			}
		}

		// Token: 0x1700088A RID: 2186
		// (get) Token: 0x06001D5C RID: 7516 RVA: 0x000536A8 File Offset: 0x000518A8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> SurfaceIdList
		{
			get
			{
				return this.surfaceIdList_;
			}
		}

		// Token: 0x06001D5D RID: 7517 RVA: 0x000536B0 File Offset: 0x000518B0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as ChessRogueQueryDiceInfo);
		}

		// Token: 0x06001D5E RID: 7518 RVA: 0x000536C0 File Offset: 0x000518C0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(ChessRogueQueryDiceInfo other)
		{
			return other != null && (other == this || (this.diceList_.Equals(other.diceList_) && this.DicePhase == other.DicePhase && this.Sus.Equals(other.Sus) && this.surfaceIdList_.Equals(other.surfaceIdList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06001D5F RID: 7519 RVA: 0x00053738 File Offset: 0x00051938
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			num ^= this.diceList_.GetHashCode();
			if (this.DicePhase != ChessRogueNousDicePhase.None)
			{
				num ^= this.DicePhase.GetHashCode();
			}
			num ^= this.Sus.GetHashCode();
			num ^= this.surfaceIdList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06001D60 RID: 7520 RVA: 0x000537A7 File Offset: 0x000519A7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06001D61 RID: 7521 RVA: 0x000537AF File Offset: 0x000519AF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06001D62 RID: 7522 RVA: 0x000537B8 File Offset: 0x000519B8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.diceList_.WriteTo(ref output, ChessRogueQueryDiceInfo._repeated_diceList_codec);
			if (this.DicePhase != ChessRogueNousDicePhase.None)
			{
				output.WriteRawTag(80);
				output.WriteEnum((int)this.DicePhase);
			}
			this.sus_.WriteTo(ref output, ChessRogueQueryDiceInfo._map_sus_codec);
			this.surfaceIdList_.WriteTo(ref output, ChessRogueQueryDiceInfo._repeated_surfaceIdList_codec);
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06001D63 RID: 7523 RVA: 0x00053828 File Offset: 0x00051A28
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			num += this.diceList_.CalculateSize(ChessRogueQueryDiceInfo._repeated_diceList_codec);
			if (this.DicePhase != ChessRogueNousDicePhase.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.DicePhase);
			}
			num += this.sus_.CalculateSize(ChessRogueQueryDiceInfo._map_sus_codec);
			num += this.surfaceIdList_.CalculateSize(ChessRogueQueryDiceInfo._repeated_surfaceIdList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06001D64 RID: 7524 RVA: 0x000538A0 File Offset: 0x00051AA0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(ChessRogueQueryDiceInfo other)
		{
			if (other == null)
			{
				return;
			}
			this.diceList_.Add(other.diceList_);
			if (other.DicePhase != ChessRogueNousDicePhase.None)
			{
				this.DicePhase = other.DicePhase;
			}
			this.sus_.MergeFrom(other.sus_);
			this.surfaceIdList_.Add(other.surfaceIdList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06001D65 RID: 7525 RVA: 0x0005390F File Offset: 0x00051B0F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06001D66 RID: 7526 RVA: 0x00053918 File Offset: 0x00051B18
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 80U)
				{
					if (num == 74U)
					{
						this.diceList_.AddEntriesFrom(ref input, ChessRogueQueryDiceInfo._repeated_diceList_codec);
						continue;
					}
					if (num == 80U)
					{
						this.DicePhase = (ChessRogueNousDicePhase)input.ReadEnum();
						continue;
					}
				}
				else
				{
					if (num == 106U)
					{
						this.sus_.AddEntriesFrom(ref input, ChessRogueQueryDiceInfo._map_sus_codec);
						continue;
					}
					if (num == 112U || num == 114U)
					{
						this.surfaceIdList_.AddEntriesFrom(ref input, ChessRogueQueryDiceInfo._repeated_surfaceIdList_codec);
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x04000C0F RID: 3087
		private static readonly MessageParser<ChessRogueQueryDiceInfo> _parser = new MessageParser<ChessRogueQueryDiceInfo>(() => new ChessRogueQueryDiceInfo());

		// Token: 0x04000C10 RID: 3088
		private UnknownFieldSet _unknownFields;

		// Token: 0x04000C11 RID: 3089
		public const int DiceListFieldNumber = 9;

		// Token: 0x04000C12 RID: 3090
		private static readonly FieldCodec<ChessRogueDice> _repeated_diceList_codec = FieldCodec.ForMessage<ChessRogueDice>(74U, ChessRogueDice.Parser);

		// Token: 0x04000C13 RID: 3091
		private readonly RepeatedField<ChessRogueDice> diceList_ = new RepeatedField<ChessRogueDice>();

		// Token: 0x04000C14 RID: 3092
		public const int DicePhaseFieldNumber = 10;

		// Token: 0x04000C15 RID: 3093
		private ChessRogueNousDicePhase dicePhase_;

		// Token: 0x04000C16 RID: 3094
		public const int SusFieldNumber = 13;

		// Token: 0x04000C17 RID: 3095
		private static readonly MapField<uint, bool>.Codec _map_sus_codec = new MapField<uint, bool>.Codec(FieldCodec.ForUInt32(8U, 0U), FieldCodec.ForBool(16U, false), 106U);

		// Token: 0x04000C18 RID: 3096
		private readonly MapField<uint, bool> sus_ = new MapField<uint, bool>();

		// Token: 0x04000C19 RID: 3097
		public const int SurfaceIdListFieldNumber = 14;

		// Token: 0x04000C1A RID: 3098
		private static readonly FieldCodec<uint> _repeated_surfaceIdList_codec = FieldCodec.ForUInt32(114U);

		// Token: 0x04000C1B RID: 3099
		private readonly RepeatedField<uint> surfaceIdList_ = new RepeatedField<uint>();
	}
}
